﻿#region Using Directives

    using System;

    using Csla;

    using MarketPulse.BusinessLogic.Core;
using MarketPulse.Reporting.Core.Criteria;

#endregion

namespace MarketPulse.Reporting.Core
{
    /// <summary>
    /// This class represents a read only instance of a reporting Visit within the system.
    /// </summary>
    [Serializable]
    public class McDonaldsVisitsRequiredReportInfo : MarketPulseReadOnlyBase<McDonaldsVisitsRequiredReportInfo>
    {

        #region Constructors

            /// <summary>
            /// Default constructor is private in order to (try to) enforce construction
            /// only via the static factory methods provided.
            /// </summary>
            protected McDonaldsVisitsRequiredReportInfo()
            {
            }

        #endregion

        #region Properties

            /// <summary>
            /// The DineInVisitsRequired property
            /// </summary>
            public static PropertyInfo< System.Int32? > DineInVisitsRequiredProperty = RegisterProperty<System.Int32?>(p => p.DineInVisitsRequired, string.Empty, (System.Int32?)null);
            public System.Int32? DineInVisitsRequired
            {
                get { return GetProperty(DineInVisitsRequiredProperty); }
            }

            /// <summary>
            /// The DriveThruVisitsRequired property
            /// </summary>
            public static PropertyInfo< System.Int32? > DriveThruVisitsRequiredProperty = RegisterProperty<System.Int32?>(p => p.DriveThruVisitsRequired, string.Empty, (System.Int32?)null);
            public System.Int32? DriveThruVisitsRequired
            {
                get { return GetProperty(DriveThruVisitsRequiredProperty); }
            }

            /// <summary>
            /// The OverallVisitsRequired property
            /// </summary>
            public static PropertyInfo< System.Int32? > OverallVisitsRequiredProperty = RegisterProperty<System.Int32?>(p => p.OverallVisitsRequired, string.Empty, (System.Int32?)null);
            public System.Int32? OverallVisitsRequired
            {
                get { return GetProperty(OverallVisitsRequiredProperty); }               
            }

        #endregion

    }
}
